package com.iflytek.cosmo.ocr.service;

import com.iflytek.cosmo.ocr.model.domain.MessageOutput;

import java.util.List;

public interface IflyBarAuthService {

    /**
     * 权限验证
     *
     * @param mac mac地址
     * @param ip ip地址
     * @return 权限验证成功与否
     */
    boolean verifyAuth(String[] mac, String ip);

    /**
     * 注册权限，绑定mac和授权码
     *
     * @param mac mac地址
     * @param code 授权码
     * @return 绑定mac和授权码成功与否
     */
    MessageOutput register(String[] mac, String code);
    
    /**
     * 生成授权码
     *
     * @param num 授权码数量
     * @param 授权码类型 试用：trial 正式：formal 免授权:free
     * @return 生成的授权码
     */
    List<String> createLicenseCode(Integer num);

    /**
     * 生成授权码
     *
     * @param num 授权码数量
     * @param 授权码类型 试用：trial 正式：formal 免授权:free
     * @return 生成的授权码
     */
    List<String> createLicenseCode(Integer num,String type);

    /**
     * 获得未使用的授权码
     *
     * @return 未使用的授权码
     */
    List<String> getValidLicenseCode();
}
